package com.mall.product.service;

import com.mall.common.service.CrudService;
import com.mall.product.dto.AttrAttrgroupRelationDTO;
import com.mall.product.entity.AttrAttrgroupRelationEntity;
import com.mall.product.vo.AttrGroupRelationVo;

import java.util.List;

/**
 * 属性&属性分组关联
 *
 * @author xjc xjc@163.com
 * @since 1.0.0 2022-07-17
 */
public interface AttrAttrgroupRelationService extends CrudService<AttrAttrgroupRelationEntity, AttrAttrgroupRelationDTO> {

    List<AttrAttrgroupRelationEntity> selectByAttrGroupId(Long attrGroupId);

    AttrAttrgroupRelationEntity selectBYAttrId(Long attrId);

    AttrAttrgroupRelationEntity findByAttrId(Long attrId);

    void saveEntity(AttrAttrgroupRelationEntity relationEntity);

    void deleteBatchByParams(AttrGroupRelationVo[] relationVos);

    List<AttrAttrgroupRelationEntity> selectWithoutInCollection(List<Long> groupIds);

    List<AttrAttrgroupRelationEntity> selectWithInCollection(List<Long> groupIds);

    List<AttrAttrgroupRelationEntity> listByAttrGroupId(List<Long> attrGroupIds);
}